﻿using System;
using UnityEngine;

namespace Sizebox.CharacterEditor
{
	// Token: 0x02000266 RID: 614
	[Serializable]
	public struct BoneTransformData
	{
		// Token: 0x06000D9C RID: 3484 RVA: 0x0006B03C File Offset: 0x0006923C
		public static BoneTransformData Lerp(BoneTransformData data, BoneTransformData data2, float time)
		{
			BoneTransformData result;
			result.position = Vector3.Lerp(data.position, data2.position, time);
			result.rotation = Quaternion.Slerp(data.rotation, data2.rotation, time);
			result.scale = Vector3.Lerp(data.scale, data2.scale, time);
			return result;
		}

		// Token: 0x06000D9D RID: 3485 RVA: 0x0006B09C File Offset: 0x0006929C
		public static BoneTransformData operator +(BoneTransformData data, BoneTransformData data2)
		{
			BoneTransformData result;
			result.position = data.position + data2.position;
			result.rotation = data.rotation * data2.rotation;
			result.scale = Vector3.Scale(data.scale, data2.scale);
			return result;
		}

		// Token: 0x06000D9E RID: 3486 RVA: 0x0006B0F8 File Offset: 0x000692F8
		public static bool operator ==(BoneTransformData data, BoneTransformData data2)
		{
			return !(data.position != data2.position) && !(data.scale != data2.scale) && !(data.rotation != data2.rotation);
		}

		// Token: 0x06000D9F RID: 3487 RVA: 0x0006B150 File Offset: 0x00069350
		public static bool operator !=(BoneTransformData data, BoneTransformData data2)
		{
			return !(data == data2);
		}

		// Token: 0x0400127E RID: 4734
		public Vector3 position;

		// Token: 0x0400127F RID: 4735
		public Vector3 scale;

		// Token: 0x04001280 RID: 4736
		public Quaternion rotation;

		// Token: 0x04001281 RID: 4737
		public static BoneTransformData Default = new BoneTransformData
		{
			position = Vector3.zero,
			rotation = Quaternion.identity,
			scale = Vector3.one
		};
	}
}
